package com.xoms.admin.persist.dao;

import java.util.List;

import com.xoms.admin.model.ResourceBean;
import com.xoms.admin.model.vo.HaveResourcesBean;

public interface ResourceDao {
	
	/**
	 * 获取角色id对应权限列表
	 * @param roleId
	 * @return
	 */
	List<HaveResourcesBean> selectResources2Role(int roleId);
	
	/**
	 * 查询权限数量
	 * @param key
	 * @return
	 */
	int selectCount(String key);
	
	/**
	 * 查询权限列表
	 * @param key
	 * @param page
	 * @param pagesize
	 * @return
	 */
	List<ResourceBean> selectList(String key, int page, int pagesize);
	
	/**
	 * 更新权限状态
	 * @param rid
	 * @param status
	 * @return
	 */
	int updateStatus(int rid, int status);
	
	/**
	 * 删除权限
	 * @param rid
	 * @return
	 */
	int del(int rid);
	
	/**
	 * 新建权限信息
	 * @param data
	 * @return
	 */
	int insert(ResourceBean data);
	
	/**
	 * 更新权限信息
	 * @param data
	 * @return
	 */
	int update(ResourceBean data);
	
	/**
	 * 根据id获取权限信息
	 * @param id
	 * @return
	 */
	ResourceBean selectOneById(Integer id);
	
	/**
	 * 查询拥有该权限的角色数量
	 * @param rid
	 * @return
	 */
	int selectRoleNum2Resource(int rid);
	
	/**
	 * 删除该权限的所有管理关系
	 * @param rid
	 * @return
	 */
	int delAllResourceRelation(int rid);

	int updateSorts(List<String> sortList, int page, int pageSize);
	
}
